|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 25.02.2020 um 14:24 Uhr (1)
Also: Ich habe eine Zeichnung/Drawing in CATIA. Es gibt bei uns eine Vielzahl von Normen, von denen aber nur einige wenige auf der Zeichnung zu finden sind. Wichtig ist nur der Name der Norm, z.B. XY123. Die auf der Zeichnung vorhandenen Normen werden in einer Tabelle auf der Zeichnung zusammengefasst. Ich möchte nun ein Makro programmieren, dass die vorhandenen Normen auf der Zeichnung erfasst und diese anschließend ausgibt, sodass man nicht jede einzelne Norm auf der Zeichnung suchen muss, sondern direkt ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 25.02.2020 um 16:00 Uhr (1)
Alles klar, vielen, vielen Dank!Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then For Each oDrwText In oDrwView.Texts If oDrwText.Text = "1234" Then MsgBox = "1234" End If End Next End If NextNextEnd SubBei mir hat er nun mit der MsgBox Probleme: Er ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 09:26 Uhr (1)
Vielen Dank für deine Antwort. Kannst du mir sagen, wo und wie ich den Quellcode ändern muss, um auf die Textboxen im "Sheet Background" zuzugreifen?Aktuell greift er nämlich nur auf die "Drawing View" zu.Vielen DankSub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextDim auto As VariantSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then F ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 10:12 Uhr (1)
Besten Dank für die schnelle Antwort. Ich habe den Quellcode nun etwas umgebaut: For I = 1 To CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(2).Texts.Count If (CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(2).Texts.Item(I).Text = "Zeichnungsnummer") Then Z_Nummer = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(2).Texts.Item(I).Text MsgBox Z_Nummer Exit For End IfNextProblem ist aber noch, dass er halt genau nach dem Wort sucht, wie du schon gesagt hast. Allerdings stehen die Normen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 10:40 Uhr (1)
Danke für deinen Tipp. Mein Quellcode sieht nun wie folgt aus:Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then For Each oDrwText In oDrwView.Texts If InStr(oDrwText.Text, "50181") 0 Then MsgBox "Zeichnungsnummer" End If If InStr(oDrwText.Text, "12345") 0 ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 11:35 Uhr (1)
Ja, das weiß ich. Danke. Wenn eine Textbox auf der Zeichnung zu finden ist, funktioniert es jetzt auch zuverlässig. Wenn sich allerdings mehrere Textboxen auf der Zeichnung zu finden sind. Funktioniert es nicht mehr, obwohl er ja eigentlich jede Textbox durchgehen sollte. Oder sind die If-Schleifen falsch gesetzt?Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets ...
|
In das Form CATIA V5 Programmierung wechseln |